package 力扣题库;

public class p111二叉树的最小深度 {
    //注意如果根节点的左子树或右子树为空的情况
    //最小深度是从根节点到最近叶子节点的最短路径上的节点数量，注意是叶子节点。
    //因为最小深度是要求从根节点到叶子节点的深度最小值。当左或右子树为空时，不符合要求
    public int minDepth(TreeNode root) {
        if (root==null) {
            return 0;
        }
        int leftHeight =minDepth(root.left);
        int rightHeight =minDepth(root.right);

        if (leftHeight==0 || rightHeight==0) {
            return Math.max(leftHeight,rightHeight)+1;
        }

        return  Math.min(leftHeight,rightHeight)+1;
    }
}
